Programming an information bit of a non-volatile electrically erasable programmable read-only memory cell (EEPROM) normally takes a relatively large time. To program a single bit memory cell or a multi-bit memory cell, electrical charge is injected and stored in a charge-tapping region of the memory cell. By injecting and storing, or by non-injecting and non-storing, the electrical charge in the charge-trapping region, a binary information is programmed, which can later be read out of the memory cell.
The programming procedure normally comprises at least two steps, namely in a first step an application of a program pulse, followed by a program verify step in a second step. During the program pulse step, the electrical charge is injected and stored in the memory cell, for example by using the hot electron effect or by using the Fowler-Nordheim tunneling effect. The program verify step allows to test if the programming step was successful or not.
In U.S. Pat. No. 6,396,742 B1, which is incorporated herein by reference, a programming of a memory cell with subsequent verifying is described. There, it is suggested to program a state of a cell and to verify afterwards if the threshold voltage of the cell is within a desired range of voltages. If the desired threshold voltage is not achieved, a predetermined number of additional programming pulses are applied to the cell.
Due to the application of several programming pulses including subsequent verification steps, it takes a relatively large time to program the cell. In addition to this, a trade-off has to be made between the accuracy of the achieved threshold voltage of the memory cell on the one hand, and the amount and resolution of required programming and verification steps on the other hand.